哇!不知不覺就到第 30 天了,來回顧一下這 30 天的旅程吧!
自己訂的鐵人賽主題是閱讀 Linux Kernel 文件,
Linux Kernel 和工作內容有著不算小的相關性,
還有在工作的過程中,欠下很多的文件債,所以訂了這個主題;
這 30 天,總共看了
arch/riscv maintenance guidelines for developers
:描述 RISC-V Linux 接受 patch 的原則Boot image header in RISC-V Linux
:定義了 RISC-V Linux 的啟動影像檔需要有哪些標頭資訊Virtual Memory Layout on RISC-V Linux
:描述 RISC-V Linux 的虛擬記憶體佈局Feature status on riscv architecture
:目前 RISC-V Linux 有支援哪些核心功能Supporting PMUs on RISC-V platforms
:在 RISC-V Linux 上要如何實作 PMU 相關功能 (最近有個新的 sscof
extension)Why the “volatile” type class should not be used
:volatile
應該用來修飾存取的動作而非存取的資料本身Cache and TLB Flushing Under Linux
:維護 cache 和 TLB 的 API ,描述這些的使用情境、時機和實作Physical Memory Model
:描述 kernel 實體記憶體管理的概念,目前預設都是 SPARSEMEM
High Memory Handling
:32 位元機器的定址空間有限,若實體記憶體大小大於定址空間,則需要 high memory 支援才能存取全部的實體記憶體Heterogeneous Memory Management (HMM)
:整合異質記憶體至同一個定址空間 (Shared Virtual Memory)Page Migration
:NUMA 的記憶體管理、memory compaction 等等的底層機制,用以使記憶體存取更有效率賽前,給自己的安排本來是
仔細閱讀每篇文件,把不懂的地方好好查閱研究後,消化理解並詳實的記錄下來;行有餘力再來做翻譯!
結果,寫到後來變成
啊!時間快到了!先把翻譯翻出來,其它不太懂的地方,之後再說! XDDDD
甚至有幾天是先把文章發表出來,再慢慢的更新,著實準備的並不充分。
這個系列寫到這裡,感覺不僅沒有把對 kernel 不理解的地方變少,反而知道更多、更具體自己的不理解之處;
所以第 30 天並不是結束,而是一個新的開始,該努力的來把自己不知道的東西搞清楚啦!XD
接下來,還會努力的持續發文,紀錄 code trace 的過程,以及自己的理解,但應該不會日更 XD
完賽啦!感謝同事們的精神支援啦!
要來好好整理 patch 囉!